package com.ccp.dev.qbdms.model;

import java.math.BigDecimal;
import com.ccp.dev.core.basic.model.BaseModel;
import com.ccp.dev.qbdms.annotation.IsAttachment;
import com.ccp.dev.qbdms.expimp.annotation.ExpAnnotation;
import com.ccp.dev.qbdms.expimp.annotation.FlowSubject;
import com.ccp.dev.qbdms.expimp.annotation.ImpAnnotation;
import com.ccp.dev.qbdms.expimp.annotation.Record;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 飞行试验奖惩项目管理表 w_flight_rewards_project
 * 
 * @author hw
 * @date 2020-05-25 15:16:44
 */
@ExpAnnotation(description = "飞行试验奖惩项目管理")
@ImpAnnotation(description = "飞行试验奖惩项目管理")
@FlowSubject(subjectName = "飞行试验奖惩项目")
public class WFlightRewardsProject extends  BaseBusinessModel<WFlightRewardsProject>
{
	private static final long serialVersionUID = 1L;

	public static final String ISBZ_YES = "1";
    public static final String ISBZ_NO = "0";
	//是否编制过
    @Record(value = "是否编制过")
    private String isbz;

    public String getIsbz() {
        return isbz;
    }

    public void setIsbz(String isbz) {
        this.isbz = isbz;
    }

    /**
     * 主键id
    */
    private String  id;
    /**
     * 飞行试验名称
    */
    @ExpAnnotation(description = "飞行试验名称")
    @ImpAnnotation(description = "飞行试验名称",isRequired = true)
    @Record(value = "飞行试验名称")
    private String  flighttestname;
    /**
     * 密级
    */
    private Integer  privacylevel;
    /**
     * 年度
    */
    @ExpAnnotation(description = "年度",format = "yyyy")
    @ImpAnnotation(description = "年度",format = "yyyy",isRequired = true)
    @Record(value = "年度")
    private Date  year;
    /**
     * 型号名称
    */
    @ImpAnnotation(description = "型号名称",isRequired = true)
    @ExpAnnotation(description = "型号名称")
    @Record(value = "型号名称")
    private String  modelname;
    /**
     * 总体单位名称编码
    */
    @ImpAnnotation(description = "总体单位名称",isRequired = true)
    @Record(value = "总体单位名称编码")
    private String  totalityunitcode;
    /**
     * 总体单位名称
     */
    @ImpAnnotation(description = "总体单位名称",isRequired = true)
    @ExpAnnotation(description = "总体单位名称")
    @Record(value = "总体单位名称")
    private String  totalityunitname;
    /**
     * 项目类型
    */
    @ExpAnnotation(description = "项目类型")
    @ImpAnnotation(description = "项目类型",isRequired = true)
    @Record(value = "项目类型")
    private String  projecttype;
    /**
     * 项目类别
    */
    @ExpAnnotation(description = "项目类别")
    @ImpAnnotation(description = "项目类别",isRequired = true)
    @Record(value = "项目类别")
    private String  projectcategory;
    /**
     * 项目阶段
    */
    @ExpAnnotation(description = "项目阶段")
    @ImpAnnotation(description = "项目阶段",isRequired = true)
    @Record(value = "项目阶段")
    private String  projectstage;
    /**
     * 奖励额度(万元)
    */
    @ExpAnnotation(description = "奖励额度（万元）")
    @ImpAnnotation(description = "奖励额度（万元）",isRequired = true)
    @Record(value = "奖励额度(万元)")
    private BigDecimal  bonusgiven;
    /**
     * 处罚额度(万元)
    */
    @ExpAnnotation(description = "处罚额度（万元）")
    @ImpAnnotation(description = "处罚额度（万元）",isRequired = true)
    @Record(value = "处罚额度(万元)")
    private BigDecimal  penaltyamount;
    /**
     * 产品价格(参考值)(万元)
    */
    @ExpAnnotation(description = "产品价格（参考值）（万元）")
    @ImpAnnotation(description = "产品价格（参考值）（万元）",isRequired = true)
    @Record(value = "产品价格(参考值)(万元)")
    private BigDecimal  productprice;
    /**
     * 项目主管部门
    */
    @ExpAnnotation(description = "项目主管部门")
    @ImpAnnotation(description = "项目主管部门",isRequired = true)
    @Record(value = "项目与主管部门")
    private String  projectdepartment;
    /**
     * 附件
    */
    @Record(value = "附件")
    @IsAttachment
    private String  accessory;
    /**
     * 备注
    */
    @ExpAnnotation(description = "备注")
    @ImpAnnotation(description = "备注")
    @Record(value = "备注")
    private String  remark;
    /**
     * 所属单位
    */
    private String  belongdeptname;
    /**
     * 奖惩金额分配数据
     */
    @ExpAnnotation(isSubTable = true)
    @ImpAnnotation(isSubTable = true)
    private List<WRewardsMoneyAllocation> wRewardsMoneyAllocationList;


    public List<WQbdFlightJczb> wQbdFlightJczbList;

    private long yearToTime;

    public long getYearToTime() {
        return yearToTime;
    }

    public void setYearToTime(long yearToTime) {
        this.yearToTime = yearToTime;
    }

    /**
     * 是否临时
     */
    @ExpAnnotation(description = "是否临时")
    @ImpAnnotation(description = "是否临时")
    private String istemp;

    public String getIstemp() {
        return istemp;
    }

    public void setIstemp(String istemp) {
        this.istemp = istemp;
    }

    public List<WQbdFlightJczb> getwQbdFlightJczbList() {
        return wQbdFlightJczbList;
    }

    public void setwQbdFlightJczbList(List<WQbdFlightJczb> wQbdFlightJczbList) {
        this.wQbdFlightJczbList = wQbdFlightJczbList;
    }

    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getFlighttestname() {
        return this.flighttestname;
    }
    public void setFlighttestname(String flighttestname) {
        this.flighttestname = flighttestname;
    }
    public Integer getPrivacylevel() {
        return this.privacylevel;
    }
    public void setPrivacylevel(Integer privacylevel) {
        this.privacylevel = privacylevel;
    }
    public Date getYear() {
        return this.year;
    }
    public void setYear(Date year) {
        this.year = year;
    }
    public String getModelname() {
        return this.modelname;
    }
    public void setModelname(String modelname) {
        this.modelname = modelname;
    }
    public String getTotalityunitname() {
        return this.totalityunitname;
    }
    public void setTotalityunitname(String totalityunitname) {
        this.totalityunitname = totalityunitname;
    }
    public String getProjecttype() {
        return this.projecttype;
    }
    public void setProjecttype(String projecttype) {
        this.projecttype = projecttype;
    }
    public String getProjectcategory() {
        return this.projectcategory;
    }
    public void setProjectcategory(String projectcategory) {
        this.projectcategory = projectcategory;
    }
    public String getProjectstage() {
        return this.projectstage;
    }
    public void setProjectstage(String projectstage) {
        this.projectstage = projectstage;
    }
    public BigDecimal getBonusgiven() {
        return this.bonusgiven;
    }
    public void setBonusgiven(BigDecimal bonusgiven) {
        this.bonusgiven = bonusgiven;
    }
    public BigDecimal getPenaltyamount() {
        return this.penaltyamount;
    }
    public void setPenaltyamount(BigDecimal penaltyamount) {
        this.penaltyamount = penaltyamount;
    }
    public BigDecimal getProductprice() {
        return this.productprice;
    }
    public void setProductprice(BigDecimal productprice) {
        this.productprice = productprice;
    }
    public String getProjectdepartment() {
        return this.projectdepartment;
    }
    public void setProjectdepartment(String projectdepartment) {
        this.projectdepartment = projectdepartment;
    }
    public String getAccessory() {
        return this.accessory;
    }
    public void setAccessory(String accessory) {
        this.accessory = accessory;
    }
    public String getRemark() {
        return this.remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    @Override
    public String getBelongdeptname() {
        return this.belongdeptname;
    }
    @Override
    public void setBelongdeptname(String belongdeptname) {
        this.belongdeptname = belongdeptname;
    }

    public String getTotalityunitcode() {
        return totalityunitcode;
    }

    public void setTotalityunitcode(String totalityunitcode) {
        this.totalityunitcode = totalityunitcode;
    }

    public List<WRewardsMoneyAllocation> getwRewardsMoneyAllocationList() {
        return wRewardsMoneyAllocationList;
    }

    public void setwRewardsMoneyAllocationList(List<WRewardsMoneyAllocation> wRewardsMoneyAllocationList) {
        this.wRewardsMoneyAllocationList = wRewardsMoneyAllocationList;
    }
    @Override
    public String toString() {
        return "WFlightRewardsProject{" +
                "id='" + id + '\'' +
                ", flighttestname='" + flighttestname + '\'' +
                ", privacylevel=" + privacylevel +
                ", year=" + year +
                ", modelname='" + modelname + '\'' +
                ", totalityunitcode='" + totalityunitcode + '\'' +
                ", totalityunitname='" + totalityunitname + '\'' +
                ", projecttype='" + projecttype + '\'' +
                ", projectcategory='" + projectcategory + '\'' +
                ", projectstage='" + projectstage + '\'' +
                ", bonusgiven=" + bonusgiven +
                ", penaltyamount=" + penaltyamount +
                ", productprice=" + productprice +
                ", projectdepartment='" + projectdepartment + '\'' +
                ", accessory='" + accessory + '\'' +
                ", remark='" + remark + '\'' +
                ", belongdeptname='" + belongdeptname + '\'' +
                '}';
    }
}
